namespace CSharpPro._0930;

public class Work5
{
    //键盘输入三个整数x、y、z，请把这三个数由小到大输出
    public void Test1()
    {
        Console.WriteLine("输入三个整数");
        int x = int.Parse(Console.ReadLine());
        int y = int.Parse(Console.ReadLine());
        int z = int.Parse(Console.ReadLine());
        int[] numbers = { x, y, z };
        Array.Sort(numbers);
        Console.WriteLine($"排序结果：{numbers[0]} < {numbers[1]} < {numbers[2]}");
        Console.WriteLine();
    }
    //打印出1-100之间所有不是7的倍数和不包含7的数字， 并求和。
    public void Test2()
    {
        int sum = 0;
        List<int> resultNumbers = new List<int>();

        for (int i = 1; i <= 100; i++)
        {
            if (i % 7 != 0 && !i.ToString().Contains("7"))
            {
                resultNumbers.Add(i);
                sum += i;
            }
        }
        Console.WriteLine("符合条件的数字：");
        Console.WriteLine(string.Join(", ", resultNumbers));
        Console.WriteLine($"这些数字的和为：{sum}");
        Console.WriteLine();
    }
    //打印九九乘法表
    public void Test3()
    {
        for (int i = 1; i <= 9; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write($"{j}×{i}={i*j}\t");
            }
            Console.WriteLine();
        }
        Console.WriteLine();
    }
    //求出1000以内的所有完数。
    public void Test4()
    {   
        for (int i = 2; i <= 1000; i++)
        {
            int sum = 1; 
            
            for (int j = 2; j <= i / 2; j++)
            {
                if (i % j == 0)
                {
                    sum += j;
                }
            }
            
            if (sum == i)
            {
                Console.Write($"{i}的真因子有：1");
                for (int j = 2; j <= i / 2; j++)
                {
                    if (i % j == 0)
                    {
                        Console.Write($", {j}");
                    }
                }
                Console.WriteLine();
            }
        }
        Console.WriteLine();
    }

    public void Test5()
    {
    }

    public void Test6()
    {
    }
}